package it.apiconsulting.editT.view;

import it.apiconsulting.editT.controller.GiocatoreManager;
import it.apiconsulting.editT.model.Giocatore;

import java.sql.Date;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;


public class GiocatoreAction extends ActionSupport {

	private static final long serialVersionUID = 9149826260758390091L;
	private Giocatore giocatore;
	private List<Giocatore> giocatori;
	private String id;
	
	private String nome;
	private String cognome;
	private String ruolo;
	private int portiere;
	private int difesa;
	private int centrocampo;
	private int attacco;
	private Date datacreazione;
	private GiocatoreManager linkController;

	public GiocatoreAction() {
		linkController = new GiocatoreManager();
	}

	public String execute() {
		this.giocatori = linkController.list();
		return SUCCESS;
	}

	public String save() {
		
		Date dataCreazione = new Date(new java.util.Date().getTime());
		try {
			Giocatore giocatore = new Giocatore();
			giocatore.setAttacco(attacco);
			giocatore.setCentrocampo(centrocampo);
			giocatore.setDifesa(difesa);
			giocatore.setPortiere(portiere);
			giocatore.setRuolo(ruolo);
			giocatore.setCognome(cognome);
			giocatore.setNome(nome);
			giocatore.setDatacreazione(dataCreazione);
			
			linkController.add(giocatore);
			addActionMessage("You are valid user!");
		} catch (Exception e) {
			addActionError("I don't know you, dont try to hack me!");
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}

	public String delete() {
		linkController.delete(Long.parseLong(getId()));
		return SUCCESS;
	}

	public Giocatore getGiocatore() {
		return giocatore;
	}

	public List<Giocatore> getCategorie() {
		return giocatori;
	}

	public void setGiocatore(Giocatore giocatore) {
		this.giocatore = giocatore;
	}

	public void setCategorie(List<Giocatore> giocatori) {
		this.giocatori = giocatori;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public List<Giocatore> getGiocatori() {
		return giocatori;
	}

	public void setGiocatori(List<Giocatore> giocatori) {
		this.giocatori = giocatori;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getCognome() {
		return cognome;
	}

	public void setCognome(String cognome) {
		this.cognome = cognome;
	}

	public String getRuolo() {
		return ruolo;
	}

	public void setRuolo(String ruolo) {
		this.ruolo = ruolo;
	}

	public int getPortiere() {
		return portiere;
	}

	public void setPortiere(int portiere) {
		this.portiere = portiere;
	}

	public int getDifesa() {
		return difesa;
	}

	public void setDifesa(int difesa) {
		this.difesa = difesa;
	}

	public int getCentrocampo() {
		return centrocampo;
	}

	public void setCentrocampo(int centrocampo) {
		this.centrocampo = centrocampo;
	}

	public int getAttacco() {
		return attacco;
	}

	public void setAttacco(int attacco) {
		this.attacco = attacco;
	}

	public Date getDatacreazione() {
		return datacreazione;
	}

	public void setDatacreazione(Date datacreazione) {
		this.datacreazione = datacreazione;
	}

	public GiocatoreManager getLinkController() {
		return linkController;
	}

	public void setLinkController(GiocatoreManager linkController) {
		this.linkController = linkController;
	}
}
